package com.study.template.general;

/**
 * 模板方法模式
 * 执行顺序固定 将可变的行为留给子类实现
 * 子类的公共部分被提取出来 避免重复
 */
public abstract class Template {
    protected void step1() {
        System.out.println("模板步骤1");
    }

    protected void step2() {
        System.out.println("模板步骤2");
    }

    protected void step3() {
        System.out.println("模板步骤3");
    }

    public final void doing(){
        step1();
        step2();
        step3();
    }
}
